2ping (bi-directional ping utility)

2ping is a bi-directional ping utility. It uses 3-way pings (akin to
TCP SYN, SYN/ACK, ACK) and after-the-fact state comparison between a
2ping listener and a 2ping client to determine which direction packet
loss occurs.

If you would like to quickly test 2ping against a remote listener
without setting one of your own up, there are several public test
listeners available. Try test.2ping.net, cromulent.colobox.com, or
linode-london.mirrors.finnix.org.

To run a listener, you can manually start it with e.g. "2ping --listen".
If you want to start a listener at boot, add a command like this to
/etc/rc.d/rc.local:

su nobody -s /bin/sh -c \
   'exec /usr/bin/2ping --quiet --listen' \
   &> /dev/null &

Optional dependencies: Certain command line options to 2ping require
additional packages.

- dnspython: --srv option.
- netifaces: --all-interfaces option.
- python3-pycrypto: --encrypt option.

The package can include a wireshark plugin for decoding the 2ping
protocol. This requires your wireshark to have been compiled with lua52
(not lua, which is version 5.1). See the README for network/wireshark
for details. If you're not sure about your wireshark's lua version, try
"ldd /usr/bin/wireshark|grep lua". This will show either liblua.so.5.1
or liblua.so.5.2.
